package com.lhz.project.system.model.param.auth;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 菜单权限表参数类
 *
 * @author LiHuaZhi
 * @since 2020-06-15 22:42:29
 */
@Data
@Schema(description = "菜单参数")
public class MenuParam implements Serializable {


    @Serial
    private static final long serialVersionUID = 194052658252968183L;

    @Schema(description = "菜单ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer id;

    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String name;

    @Schema(description = "父菜单ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer parentId;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer orderNum;

    @Schema(description = "路由地址", requiredMode = Schema.RequiredMode.REQUIRED)
    private String path;

    @Schema(description = "组件路径", requiredMode = Schema.RequiredMode.REQUIRED)
    private String component;

    @Schema(description = "菜单图标", requiredMode = Schema.RequiredMode.REQUIRED)
    private String icon;

    @Schema(description = "权限标识(*:*:*)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String perms;

    @Schema(description = "是否为外链（0是 1否）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer isFrame;

    @Schema(description = "菜单类型（M目录 C菜单 B按钮）", requiredMode = Schema.RequiredMode.REQUIRED)
    private String menuType;

    @Schema(description = "菜单状态（0显示 1隐藏）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer visible;


    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    private String remark;

}